/**
 * 
 */
package stc.skymobi.transport.protocol.esb.hdr;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import stc.skymobi.bean.esb.annotation.EsbField;



//服务端 Module-->服务端 Module 封包协议
//0               1               2               3                
//0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7  
//+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  >-------------+
//|           srcmodule(2)        |            dstmodule(2)       |                |
//+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                |
//|      protocol code(2)         |            seqNum(4)       	  |                |
//+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                |
//                            |            flags(4)               |                 \
//+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                  >--> FixedHeader
//|                               |            length(4)          |                 /
//+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                |
//|                               |            result(2)          |                |
//+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                |
//|                          reserved(4)                          |                |
//+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  >-------------+
//|           msgCode(2)          |    application data           | 
//+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
//|application data field(...)                                    |
//|                                                               |
//|                                                               |
//|                                                               |
//+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

//uint16 srcESBAddr;       /* 源模块的总线地址，这在一条总线上是唯一的。 */
//uint16 dstESBAddr;       /* 目标模块的总线地址 */
//uint16 protocolCode;     /* 2字节；协议代码 */
//uint32 seqNum;           /* seqnumber number, 由发送者填写。 一般用来校验Resp消息 */
//uint32 flags;            /* 目标定义了群发 */
//uint32 length;           /* 整个消息的长度，包括这个ESB头本身。 */
//uint16 result;           /* 在ESB Server 转发消息失败的情况（如寻目标地址失败）下， 将result设置成错误的代码， 将消息反弹回发送者 */


/**
 * @author hp
 *
 */
public class ESBModule2ModuleHeader {
	
    @EsbField(index = 1, bytes = 2)
	private int		msgCode;

	/**
	 * @return the msgCode
	 */
	public int getMsgCode() {
		return msgCode;
	}

    public String toString() {
        
        return  ToStringBuilder.reflectionToString(this, 
                            ToStringStyle.SHORT_PREFIX_STYLE);
    }

	/**
	 * @param msgCode the msgCode to set
	 */
	public void setMsgCode(int msgCode) {
		this.msgCode = msgCode;
	}
}
